home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 025a / djock205.zip / FOXPOP.ASM < prev    next >
Assembly Source File  |  1987-05-29  |  2KB  |  57 lines

  1. ; Program.....:FOXPOP.ASM (for fast calls to VIDPOP with FOXBASE Plus)
  2. ; Author......:G. Rothbart, Technical Support, The Research Group
  3. ; Date........:8/2/1986        modified 5/28/87
  4. ;
  5. ;
  6. ; NOTE........: This module provides a link from FOXBASE PLUS to VIDPOP.
  7. ;               If you are using the earlier FoxBase (the dBASE II clone)
  8. ;               please read the instructions in the file called FOXII.ASM.
  9. ;
  10. ;               Since FOXBASE+ performs direct screen writes, the ordinary
  11. ;               ?? chr(255) + ... of invoking VIDPOP will fail. The
  12. ;               assembly patch provided will allow you to correctly invoke
  13. ;               VIDPOP.
  14. ;
  15. ;               The file to load into FOXBASE+ is called FOXPOP.BIN.
  16. ;               The FOXBASE command, needed to be issued one time is:
  17. ;
  18. ;               LOAD FOXPOP
  19. ;
  20. ;               The syntax to pop a SAYWHAT screen, or use any VIDPOP
  21. ;               command is:
  22. ;
  23. ;               CALL FOXPOP WITH '<screen name or VIDPOP command>'
  24. ;                         the terminating slash ----------------^
  25. ;                         is now optional here
  26. ;
  27.       PUBLIC      FOXPOP
  28. _PROG SEGMENT     BYTE
  29.       ASSUME      CS:_PROG
  30. ;
  31. FOXPOP      PROC       FAR
  32.       PUSH     SS
  33.       LEA      SI,[BX]      ; DS:SI now points to the string being passed by Foxbase
  34.  
  35.       MOV      AH,14        ; set up for INT 10 function 'TTY'
  36.       MOV      AL,255       ; VIDPOP's wake up character
  37.       INT      10H
  38.       INT      10H          ; send it twice to awaken vidpop
  39.  
  40. MORE: MOV      AL,[SI]      ; get a character from the passed string
  41.       cmp      al,0         ; is it the 0 string terminator?
  42.       jz       finish       ; yes
  43.       cmp      al,'/'       ; no, is it the slash?
  44.       jz       finish       ; yes
  45.       INT      10H          ; no, send it to VIDPOP
  46.       INC      SI           ; point to the next character
  47.       jmp      MORE         ; go get next character
  48. finish:
  49.       MOV      AL,'/'       ; send VIDPOP's delimiter (forward slash)
  50.       INT      10H
  51.       POP      SS
  52.       RET
  53. FOXPOP      ENDP
  54. _PROG      ENDS
  55.       END
  56. 
  57.